use chrono::NaiveDateTime;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Contact {
    pub id: i32,
    pub name: String,
    pub email: Option<String>,
    pub phone: Option<String>,
    pub gender: Option<i8>, // TINYINT -> i8, 可为空（0: 男, 1: 女）
    pub birthday: Option<NaiveDateTime>, // TEXT 格式 YYYY-MM-DD → 转为 NaiveDateTime（时间部分为 00:00:00）
    pub job_title: Option<String>,
    pub avatar: Option<String>,       // VARCHAR(255)，头像 URL
    pub company_id: Option<i32>,      // 所属公司 ID
    pub status: i32,                  // 状态: 0=离职, 1=在职, 2=试用期, 3=退休，默认 1
    pub personality: Option<String>,  // 性格描述
    pub company_name: Option<String>, // 公司名称
    #[serde(skip)]
    pub created_at: NaiveDateTime, // 创建时间，默认 now
    #[serde(skip)]
    pub created_by: String,
    #[serde(skip)]
    pub modified_at: NaiveDateTime, // 修改时间，默认 now
    #[serde(skip)]
    pub modified_by: String,
}
